home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue38 / Clinic / RestartForm.pas < prev    next >
Pascal/Delphi Source File  |  1998-07-07  |  1KB  |  51 lines

  1. unit RestartForm;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     Label1: TLabel;
  12.   public
  13.     procedure WMEndSession(var Msg: TWMEndSession);
  14.       message wm_EndSession;
  15.   end;
  16.  
  17. var
  18.   Form1: TForm1;
  19.  
  20. implementation
  21.  
  22. uses
  23.   Registry;
  24.  
  25. {$R *.DFM}
  26.  
  27. procedure TForm1.WMEndSession(var Msg: TWMEndSession);
  28. const
  29.   Restart = 'Software\Microsoft\Windows\CurrentVersion\RunOnce';
  30. begin
  31.   if Msg.EndSession then
  32.   begin
  33.     with TRegistry.Create do
  34.       try
  35.         //If you want to run your app before any user
  36.         //logs in then uncomment the next line of code
  37.         //RootKey := HKEY_LOCAL_MACHINE;
  38.         if OpenKey(Restart, True) then
  39.           //Write a value with an arbitrary name,
  40.           //But the full path to your exe as a value
  41.           WriteString(Application.Title, Application.ExeName)
  42.       finally
  43.         Free //Destructor calls CloseKey for me
  44.       end;
  45.     Msg.Result := 0
  46.   end;
  47.   inherited
  48. end;
  49.  
  50. end.
  51.